首页
首页

No space left on device 问题解决方法

今天下午,研发说有个项目出现问题,提示“No space left on device”,之后扔过一段报错代码,代码如下:

1
2
3
4
5
6
7
8
9
;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/HTML&gt;</html></content></interface>
java.io.IOException: No space left on device
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1006)
at com.hr.galaxy.task.service.impl.InsuranceClaimsPerDayServiceImpl.CreateCheckOutHosPDF(InsuranceClaimsPerDayServiceImpl.java:746)
at com.hr.galaxy.task.service.impl.InsuranceClaimsPerDayServiceImpl.createInsuranceClaimsPDF(InsuranceClaimsPerDayServiceImpl.java:561)
at com.hr.galaxy.task.service.impl.InsuranceClaimsPerDayServiceImpl.sendInsuranceClaimsByHttpXml(InsuranceClaimsPerDayServiceImpl.java:188)
at com.hr.galaxy.task.service.impl.InsuranceClaimsPerDayServiceImpl.execute(InsuranceClaimsPerDayServiceImpl.java:133)
at com.hr.galaxy.task.server.InsuranceClaimsPerDayTask.main(InsuranceClaimsPerDayTask.java:32)

以上代码最重要的一句报错就是:java.io.IOException: No space left on device
当我看到这个报错时,我的第一反应就是:我靠,磁盘满了?监控怎么没报警?监控挂了?我日,事大了。
以下为排查过程,检查监控没问题,通过df -h检查磁盘正常。
突然想到可能是inodes用尽,执行下df -i查看果然 / 使用占用100%
找到问题就好解决了,
一下为解决流程:

  • 找出那个目录文件数最多
    • 删除掉,如果需要备份就打包备份在删除掉。

找出目录文件数 for i in /var/spool/*; do echo $i; find $i | wc -l; done
进入目录删除:ls | xargs rm -f
end

支持一下
扫一扫,我会更有动力更新
  • 微信扫一扫
  • 支付宝扫一扫